package com.cs.springmvc.controller.method;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;

@Controller
@RequestMapping("/parameter2")
// ①处理器的通用映射前缀
public class RequestParameterController2 {
	// ②进行类级别的@RequestMapping窄化, 表示请求中有“submitFlag=create”请求参数且请求方法为“GET”即可匹配，如请求URL为http://×××/parameter2?submitFlag=create；
	@RequestMapping(params = "submitFlag=create", method = RequestMethod.GET)
	public String showForm() {
		System.out.println("===============showForm");
		return "parameter/create";
	}

	// ③进行类级别的@RequestMapping窄化
	@RequestMapping(params = "submitFlag=create", method = RequestMethod.POST)
	public String submit() {
		System.out.println("===============submit");
		return "redirect:/success";
	}
	
	/**
	 * 此处的submitFlag=create请求参数表示你请求的动作，即你想要的功能的一个标识，常见的CRUD(增删改查)我们可以使用如下请求参数名来表达：
	◇（submitFlag=create请求参数名 且 GET请求方法） 新增页面展示、（submitFlag=create请求参数名 且 POST请求方法） 新增提交；
	◇（submitFlag=update请求参数名 且 GET请求方法） 新增页面展示、（submitFlag=update请求参数名 且 POST请求方法） 新增提交；
	◇（submitFlag=delete请求参数名 且 GET请求方法） 新增页面展示、（submitFlag=delete请求参数名 且 POST请求方法） 新增提交；
	◇（submitFlag=query请求参数名 且 GET请求方法） 新增页面展示、（submitFlag=query请求参数名 且 POST请求方法） 新增提交；
	◇（submitFlag=list请求参数名 且 GET请求方法） 列表页面展示；
	◇（submitFlag=view请求参数名 且 GET请求方法） 查看单条记录页面展示。
	 */
}
